package com.maywide.jdp.system.service;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.maywide.jdp.system.entities.Parameter;

/**
 * 参数管理Service接口
 * 
 * @author luoyang
 * @version 1.0
 * @since JDK1.6
 */
public interface ParameterService extends LockedService {

	/**
	 * 新增参数
	 * 
	 * @param parameter
	 *            参数对象
	 * @param request
	 *            HttpServletRequest对象
	 * @return Parameter 新增后的对象
	 */
	public Parameter insert(Parameter parameter, HttpServletRequest request,
			HttpServletResponse response, HttpSession session)
			throws Exception;

	/**
	 * 修改参数
	 * 
	 * @param parameter
	 *            参数对象
	 * @param request
	 *            HttpServletRequest对象
	 * @return Parameter 修改后的对象
	 */
	public Parameter update(Parameter parameter, HttpServletRequest request,
			HttpServletResponse response, HttpSession session)
			throws Exception;

	/**
	 * 读取参数
	 * 
	 * @param id
	 *            参数ID
	 * @param request
	 *            HttpServletRequest对象
	 * @return Parameter 读取的参数对象
	 */
	public Parameter load(String id, HttpServletRequest request,
			HttpServletResponse response, HttpSession session)
			throws Exception;

	/**
	 * @param ids
	 *            移动的节点ID列表
	 * @param oldOrgID
	 *            移动的机构节点ID
	 * @param newOrgID
	 *            移动到的机构节点ID
	 */
	public void move(List<String> ids, String oldOrgID, String newOrgID,
			HttpServletRequest request, HttpServletResponse response,
			HttpSession session) throws Exception;

	/**
	 * 删除数据字典
	 * 
	 * @param id
	 *            数据字典ID
	 * @param request
	 *            HttpServletRequest对象
	 * @return
	 */
	public void remove(String id, HttpServletRequest request,
			HttpServletResponse response, HttpSession session)
			throws Exception;
}
